package com.example.parent.bookmanage_redis.dao;

import com.example.parent.bookmanage_redis.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

/**
 * 用户数据访问层接口（集成Redis缓存）
 * 继承JpaRepository提供基础CRUD操作，结合Redis缓存提升数据访问性能
 * 负责用户实体与数据库之间的交互
 */
@Repository // 标识为数据访问层组件，由Spring自动扫描管理
// 继承JpaRepository<User, Integer>：提供默认的CRUD操作，泛型为实体类User和主键类型Integer
public interface UserRepository extends JpaRepository<User, Integer> {
    // JpaRepository已提供丰富的基础操作，包括：
    // - save(User entity)：保存或更新用户
    // - findById(Integer id)：根据ID查询用户
    // - findAll()：查询所有用户
    // - deleteById(Integer id)：根据ID删除用户
    // - count()：统计用户总数
    // 如需自定义查询，可在此处添加方法（如根据用户名查询等）
    // 例如：
    // User findByUsername(String username);
}